; Personal drummyfish's 0 A.D. settings
; put in ~/.config/0ad/config/local.cfg
;
; Global Configuration Settings
;
; **************************************************************
; * DO NOT EDIT THIS FILE if you want personal customisations: *
; * create a text file called "local.cfg" instead, and copy    *
; * the lines from this file that you want to change.          *
; *                                                            *
; * If a setting is part of a section (for instance [hotkey])  *
; * you need to append the section name at the beginning of    *
; * your custom line (for instance you need to write           *
; * "hotkey.pause = Space" if you want to change the pausing   *
; * hotkey to the spacebar).                                   *
; *                                                            *
; * On Linux, create:                                          *
; *   $XDG_CONFIG_HOME/0ad/config/local.cfg                    *
; *   (Note: $XDG_CONFIG_HOME defaults to ~/.config)           *
; *                                                            *
; * On OS X, create:                                           *
; *   ~/Library/Application\ Support/0ad/config/local.cfg      *
; *                                                            *
; * On Windows, create:                                        *
; *   %appdata%\0ad\config\local.cfg                           *
; *                                                            *
; **************************************************************

; Enable/disable windowed mode by default. (Use Alt+Enter to toggle in the game.)
windowed = false

; Show detailed tooltips (Unit stats)
showdetailedtooltips = false

; Pause the game on window focus loss (Only applicable to single player mode)
pauseonfocusloss = true

; Persist settings after leaving the game setup screen
persistmatchsettings = true

; Default player name to use in multiplayer
; playername = "anonymous"

; Default server name or IP to use in multiplayer
multiplayerserver = "127.0.0.1"

; Force a particular resolution. (If these are 0, the default is
; to keep the current desktop resolution in fullscreen mode or to
; use 1024x768 in windowed mode.)
xres = 0
yres = 0

; Force a non-standard bit depth (if 0 then use the current desktop bit depth)
bpp = 0

; Preferred display (for multidisplay setups, only works with SDL 2.0)
display = 0

; Emulate right-click with Ctrl+Click on Mac mice
macmouse = false

; System settings:

; if false, actors won't be rendered but anything entity will be.
renderactors = true

watereffects=true ; When disabled, force usage of the fixed pipeline water. This is faster, but really, really ugly.
waterfancyeffects = false
waterrealdepth = true
waterrefraction = true
waterreflection = true
shadowsonwater = false

shadows = true
shadowquality = 0      ; Shadow map resolution. (-2 - Very Low, -1 - Low, 0 - Medium, 1 - High, 2 - Very High)
                       ; High values can crash the game when using a graphics card with low memory!
shadowpcf = true
vsync = false
particles = true
fog = true
silhouettes = true
showsky = true

nos3tc = false
noautomipmap = true
novbo = false
noframebufferobject = false

; Disable hardware cursors
nohwcursor = false

; Linux only: Set the driconf force_s3tc_enable option at startup,
; for compressed texture support
force_s3tc_enable = true

; Specify the render path. This can be one of:
;   default       Automatically select one of the below, depending on system capabilities
;   fixed         Only use OpenGL fixed function pipeline
;   shader        Use vertex/fragment shaders for transform and lighting where possible
; Using 'fixed' instead of 'default' may work around some graphics-related problems,
; but will reduce performance and features when a modern graphics card is available.
renderpath = default

;;;;; EXPERIMENTAL ;;;;;
; Prefer GLSL shaders over ARB shaders. Allows fancier graphical effects.
preferglsl = false

; Experimental probably-non-working GPU skinning support; requires preferglsl; use at own risk
gpuskinning = false

; Use smooth LOS interpolation
smoothlos = false

; Use screen-space postprocessing filters (HDR, bloom, DOF, etc). Incompatible with fixed renderpath.
postproc = false

; Quality level of shader effects (set to 10 to display all effects)
materialmgr.quality = 2.0

; Maximum distance to display parallax effect. Set to 0 to disable parallax.
materialmgr.PARALLAX_DIST.max = 150
; Maximum distance to display high quality parallax effect.
materialmgr.PARALLAX_HQ_DIST.max = 75
; Maximum distance to display very high quality parallax effect. Set to 30 to enable.
materialmgr.PARALLAX_VHQ_DIST.max = 0
;;;;;;;;;;;;;;;;;;;;;;;;

; Replace alpha-blending with alpha-testing, for performance experiments
forcealphatest = false

; Color of the sky (in "r g b" format)
skycolor = "0 0 0"

[adaptivefps]
session = 60         ; Throttle FPS in running games (prevents 100% CPU workload).
menu = 30            ; Throttle FPS in menus only.

[hotkey]
; Each one of the specified keys will trigger the action on the left
; for multiple-key combinations, separate keys with '+'.
; See keys.txt for the list of key names.

; > SYSTEM SETTINGS
exit = "Ctrl+Break", "Super+Q"           ; Exit to desktop
cancel = Escape                          ; Close or cancel the current dialog box/popup
leave = Escape                           ; End current game or Exit
confirm = Return                         ; Confirm the current command
pause = Pause                            ; Pause/unpause game
screenshot = F2                          ; Take PNG screenshot
bigscreenshot = "Shift+F2"               ; Take large BMP screenshot
togglefullscreen = "Alt+Return"          ; Toggle fullscreen/windowed mode
screenshot.watermark = "Alt+K"           ; Toggle product/company watermark for official screenshots
wireframe = "Alt+Shift+W"                ; Toggle wireframe mode
silhouettes = "Alt+Shift+S"              ; Toggle unit silhouettes
showsky = "Alt+Z"                        ; Toggle sky

; > DIALOG HOTKEYS
summary = "Ctrl+Tab"                     ; Toggle in-game summary
lobby = "Alt+L"                          ; Show the multiplayer lobby in a dialog window.
structree = "Alt+Shift+T"                ; Show structure tree
civinfo = "Alt+Shift+H"                  ; Show civilization info

; > CLIPBOARD CONTROLS
copy = "Ctrl+C"                       ; Copy to clipboard
paste = "Ctrl+V"                      ; Paste from clipboard
cut = "Ctrl+X"                        ; Cut selected text and copy to the clipboard

; > CONSOLE SETTINGS
console.toggle = BackQuote, F9        ; Open/close console

; > OVERLAY KEYS
fps.toggle = "Alt+F"                  ; Toggle frame counter
realtime.toggle = "Alt+T"             ; Toggle current display of computer time
session.devcommands.toggle = "Alt+D"  ; Toggle developer commands panel
timeelapsedcounter.toggle = "F12"     ; Toggle time elapsed counter
session.showstatusbars = Tab          ; Toggle display of status bars
session.highlightguarding = PgDn      ; Toggle highlight of guarding units
session.highlightguarded = PgUp       ; Toggle highlight of guarded units
session.toggleattackrange = "Alt+C"   ; Toggle display of attack range overlays of selected defensive structures
session.toggleaurasrange = "Alt+V"    ; Toggle display of aura range overlays of selected units and structures
session.togglehealrange = "Alt+B"     ; Toggle display of heal range overlays of selected units
session.diplomacycolors = "Alt+X"     ; Toggle diplomacy colors

; > HOTKEYS ONLY
chat = Return                         ; Toggle chat window
teamchat = "T"                        ; Toggle chat window in team chat mode
privatechat = "L"                     ; Toggle chat window and select the previous private chat partner

; > QUICKSAVE
quicksave = "Shift+F5"
quickload = "Shift+F8"

[hotkey.camera]
reset = "R"                                   ; Reset camera rotation to default.
follow = "F"                                  ; Follow the first unit in the selection
rallypointfocus = unused                      ; Focus the camera on the rally point of the selected building
zoom.in = Equals, NumPlus                     ; Zoom camera in (continuous control)
zoom.out = Minus, NumMinus                    ; Zoom camera out (continuous control)
zoom.wheel.in = WheelUp                       ; Zoom camera in (stepped control)
zoom.wheel.out = WheelDown                    ; Zoom camera out (stepped control)
rotate.up = "Ctrl+UpArrow", "Ctrl+W"          ; Rotate camera to look upwards
rotate.down = "Ctrl+DownArrow", "Ctrl+S"      ; Rotate camera to look downwards
rotate.cw = "Ctrl+LeftArrow", "Ctrl+A", Q     ; Rotate camera clockwise around terrain
rotate.ccw = "Ctrl+RightArrow", "Ctrl+D", E   ; Rotate camera anticlockwise around terrain
rotate.wheel.cw = "Shift+WheelUp", MouseX1    ; Rotate camera clockwise around terrain (stepped control)
rotate.wheel.ccw = "Shift+WheelDown", MouseX2 ; Rotate camera anticlockwise around terrain (stepped control)
pan = MouseMiddle                             ; Enable scrolling by moving mouse
left = A, LeftArrow                           ; Scroll or rotate left
right = D, RightArrow                         ; Scroll or rotate right
up = W, UpArrow                               ; Scroll or rotate up/forwards
down = S, DownArrow                           ; Scroll or rotate down/backwards
scroll.speed.increase = "Ctrl+Shift+S"        ; Increase scroll speed
scroll.speed.decrease = "Ctrl+Alt+S"          ; Decrease scroll speed
rotate.speed.increase = "Ctrl+Shift+R"        ; Increase rotation speed
rotate.speed.decrease = "Ctrl+Alt+R"          ; Decrease rotation speed
zoom.speed.increase = "Ctrl+Shift+Z"          ; Increase zoom speed
zoom.speed.decrease = "Ctrl+Alt+Z"            ; Decrease zoom speed

[hotkey.camera.jump]
1 = F5                       ; Jump to position N
2 = F6
3 = F7
4 = F8
;5 =
;6 =
;7 =
;8 =
;9 =
;10 =
[hotkey.camera.jump.set]
1 = "Ctrl+F5"                ; Set jump position N
2 = "Ctrl+F6"
3 = "Ctrl+F7"
4 = "Ctrl+F8"
;5 =
;6 =
;7 =
;8 =
;9 =
;10 =

[hotkey.profile]
toggle = "F11"               ; Enable/disable real-time profiler
save = "Shift+F11"           ; Save current profiler data to logs/profile.txt
[hotkey.profile2]
toggle = "Ctrl+F11"          ; Enable/disable HTTP/GPU modes for new profiler

[hotkey.selection]
add = Shift                  ; Add units to selection
militaryonly = Alt           ; Add only military units to the selection
nonmilitaryonly = "Alt+Y"    ; Add only non-military units to the selection
idleonly = "I"               ; Select only idle units
woundedonly = "O"            ; Select only wounded units
remove = Ctrl                ; Remove units from selection
cancel = Esc                 ; Un-select all units and cancel building placement
idleworker = Period          ; Select next idle worker
idlewarrior = ForwardSlash   ; Select next idle warrior
idleunit = BackSlash         ; Select next idle unit
offscreen = Alt              ; Include offscreen units in selection
[hotkey.selection.group.add]
0 = "Shift+é"
1 = "Shift+Plus"
2 = "Shift+ě"
3 = "Shift+š"
4 = "Shift+č"
5 = "Shift+ř"
6 = "Shift+ž"
7 = "Shift+ý"
8 = "Shift+á"
9 = "Shift+í"
[hotkey.selection.group.save]
0 = "Ctrl+é"
1 = "Ctrl+Plus"
2 = "Ctrl+ě"
3 = "Ctrl+š"
4 = "Ctrl+č"
5 = "Ctrl+ř"
6 = "Ctrl+ž"
7 = "Ctrl+ý"
8 = "Ctrl+á"
9 = "Ctrl+í"
[hotkey.selection.group.select]
0 = é
1 = Plus
2 = ě
3 = š
4 = č
5 = ř
6 = ž
7 = ý
8 = á
9 = í

[hotkey.session]
kill = Delete                ; Destroy selected units
stop = "H"                   ; Stop the current action
backtowork = "Y"             ; The unit will go back to work
unload = "U"                 ; Unload garrisoned units when a building/mechanical unit is selected
move = unused                ; Modifier to move to a point instead of another action (e.g. gather)
attack = Ctrl                ; Modifier to attack instead of another action (e.g. capture)
attackmove = Ctrl            ; Modifier to attackmove when clicking on a point
attackmoveUnit = "Ctrl+Q"    ; Modifier to attackmove targeting only units when clicking on a point (should contain the attackmove keys)
garrison = Ctrl              ; Modifier to garrison when clicking on building
autorallypoint = Ctrl        ; Modifier to set the rally point on the building itself
guard = "G"                  ; Modifier to escort/guard when clicking on unit/building
patrol = "P"                 ; Modifier to patrol a unit
repair = "J"                 ; Modifier to repair when clicking on building/mechanical unit
queue = Shift                ; Modifier to queue unit orders instead of replacing
orderone = Alt               ; Modifier to order only one entity in selection.
batchtrain = Shift           ; Modifier to train units in batches
massbarter = Shift           ; Modifier to barter bunch of resources
masstribute = Shift          ; Modifier to tribute bunch of resources
noconfirmation = Shift       ; Do not ask confirmation when deleting a building/unit
fulltradeswap = Shift        ; Modifier to put the desired trade resource to 100%
unloadtype = Shift           ; Modifier to unload all units of type
deselectgroup = Ctrl         ; Modifier to deselect units when clicking group icon, instead of selecting
rotate.cw = RightBracket     ; Rotate building placement preview clockwise
rotate.ccw = LeftBracket     ; Rotate building placement preview anticlockwise

[hotkey.session.gui]
toggle = "Alt+G"             ; Toggle visibility of session GUI
menu.toggle = "F10"          ; Toggle in-game menu
barter.toggle = "Ctrl+B"     ; Toggle in-game barter/trade page
tutorial.toggle = "Ctrl+P"   ; Toggle in-game tutorial panel

[hotkey.session.savedgames]
delete = Delete               ; Delete the selected saved game asking confirmation
noconfirmation = Shift        ; Do not ask confirmation when deleting a game

[hotkey.session.queueunit]   ; > UNIT TRAINING
1 = "Z"            ; add first unit type to queue
2 = "X"            ; add second unit type to queue
3 = "C"            ; add third unit type to queue
4 = "V"            ; add fourth unit type to queue
5 = "B"            ; add fivth unit type to queue
6 = "N"            ; add sixth unit type to queue
7 = "M"            ; add seventh unit type to queue
8 = Comma          ; add eighth unit type to queue

[hotkey.session.timewarp]
fastforward = Space               ; If timewarp mode enabled, speed up the game
rewind = Backspace                ; If timewarp mode enabled, go back to earlier point in the game

[hotkey.tab]
next = "Tab", "Alt+S"             ; Show the next tab
prev = "Shift+Tab", "Alt+W"       ; Show the previous tab

[hotkey.text]    ; > GUI TEXTBOX HOTKEYS
delete.left = "Ctrl+Backspace"    ; Delete word to the left of cursor
delete.right = "Ctrl+Del"         ; Delete word to the right of cursor
move.left = "Ctrl+LeftArrow"      ; Move cursor to start of word to the left of cursor
move.right = "Ctrl+RightArrow"    ; Move cursor to start of word to the right of cursor

[gui]
cursorblinkrate = 0.5             ; Cursor blink rate in seconds (0.0 to disable blinking)
scale = 1.0                       ; GUI scaling factor, for improved compatibility with 4K displays

[gui.gamesetup]
enabletips = true                 ; Enable/Disable tips during gamesetup (for newcomers)
assignplayers = everyone          ; Whether to assign joining clients to free playerslots. Possible values: everyone, buddies, disabled.
aidifficulty = 3                  ; Difficulty level, from 0 (easiest) to 5 (hardest)
aibehavior = "random"             ; Default behavior of the AI (random, balanced, aggressive or defensive)
settingsslide = true              ; Enable/Disable settings panel slide

[gui.session]
camerajump.threshold = 40         ; How close do we have to be to the actual location in order to jump back to the previous one?
timeelapsedcounter = false        ; Show the game duration in the top right corner
ceasefirecounter = false          ; Show the remaining ceasefire time in the top right corner
batchtrainingsize = 5             ; Number of units to be trained per batch by default (when pressing the hotkey)
scrollbatchratio = 1              ; Number of times you have to scroll to increase/decrease the batchsize by 1
woundedunithotkeythreshold = 33   ; The wounded unit hotkey considers the selected units as wounded if their health percentage falls below this number
attackrange = true                ; Display attack range overlays of selected defensive structures
aurasrange = true                 ; Display aura range overlays of selected units and structures
healrange = true                  ; Display heal range overlays of selected units
rankabovestatusbar = true         ; Show rank icons above status bars
respoptooltipsort = 0             ; Sorting players in the resources and population tooltip by value (0 - no sort, -1 - ascending, 1 - descending)

[gui.session.minimap]
blinkduration = 1.7               ; The blink duration while pinging
pingduration = 50.0               ; The duration for which an entity will be pinged after an attack notification

[gui.session.notifications]
attack = true                     ; Show a chat notification if you are attacked by another player
tribute = true                    ; Show a chat notification if an ally tributes resources to another team member if teams are locked, and all tributes in observer mode
barter = true                     ; Show a chat notification to observers when a player bartered resources
phase = completed                 ; Show a chat notification if you or an ally have started, aborted or completed a new phase, and phases of all players in observer mode. Possible values: none, completed, all.

[gui.splashscreen]
enable = true                     ; Enable/disable the splashscreen
version = 0                       ; Splashscreen version (date of last modification). By default, 0 to force splashscreen to appear at first launch

[gui.session.diplomacycolors]
self = "21 55 149"                ; Color of your units when diplomacy colors are enabled
ally = "86 180 31"                ; Color of allies when diplomacy colors are enabled
neutral = "231 200 5"             ; Color of neutral players when diplomacy colors are enabled
enemy = "150 20 20"               ; Color of enemies when diplomacy colors are enabled

[joystick]        ; EXPERIMENTAL: joystick/gamepad settings
enable = false
deadzone = 8192
[joystick.camera]
pan.x = 0
pan.y = 1
rotate.x = 3
rotate.y = 2
zoom.in = 5
zoom.out = 4

[chat]
timestamp = true                    ; Show at which time chat messages have been sent

[chat.session]
extended = true                     ; Whether to display the chat history

[lobby]
history = 0                         ; Number of past messages to display on join
room = "arena23"                    ; Default MUC room to join
server = "lobby.wildfiregames.com"  ; Address of lobby server
terms_of_service = "0"              ; Version (hash) of the Terms of Service that the user has accepted
terms_of_use = "0"                  ; Version (hash) of the Terms of Use that the user has accepted
xpartamupp = "wfgbot23"             ; Name of the server-side XMPP-account that manage games
echelon = "echelon23"               ; Name of the server-side XMPP-account that manages ratings
buddies = ","                       ; Comma separated list of playernames that the current user has marked as buddies
rememberpassword = true             ; Whether to store the encrypted password in the user config
secureauth = true                   ; Secure Lobby Authentication: This prevents the impersonation of other players. The lobby server confirms the identity of the player before they join.

[lobby.columns]
gamerating = false                  ; Show the average rating of the participating players in a column of the gamelist

[lobby.stun]
enabled = true                       ; The STUN protocol allows hosting games without configuring the firewall and router.
                                     ; If STUN is disabled, the game relies on direct connection, UPnP and port forwarding.
server = "lobby.wildfiregames.com"   ; Address of the STUN server.
port = 3478                          ; Port of the STUN server.
delay = 200                          ; Duration in milliseconds that is waited between STUN messages.
                                     ; Smaller numbers speed up joins but also become less stable.

[mod]
enabledmods = "mod public"

[modio]
public_key = "RWQBhIRg+dOifTWlwgYHe8RfD8bqoDh1cCvygboAl3GOUKiCo0NlF4fw" ; Public key corresponding to the private key valid mods are signed with

[modio.v1]
baseurl = "https://api.mod.io/v1"
api_key = "23df258a71711ea6e4b50893acc1ba55"
name_id = "0ad"

[network]
duplicateplayernames = false      ; Rename joining player to "User (2)" if "User" is already connected, otherwise prohibit join.
lateobservers = everyone          ; Allow observers to join the game after it started. Possible values: everyone, buddies, disabled.
observerlimit = 8                 ; Prevent further observer joins in running games if this limit is reached
gamestarttimeout = 60000          ; Don't disconnect clients timing out in the loading screen and rejoin process before exceeding this timeout.

[overlay]
fps = "false"                     ; Show frames per second in top right corner
realtime = "false"                ; Show current system time in top right corner
netwarnings = "true"              ; Show warnings if the network connection is bad

[profiler2]
autoenable = false                ; Enable HTTP server output at startup (default off for security/performance)
gpu.arb.enable = true             ; Allow GL_ARB_timer_query timing mode when available
gpu.ext.enable = true             ; Allow GL_EXT_timer_query timing mode when available
gpu.intel.enable = true           ; Allow GL_INTEL_performance_queries timing mode when available

[sound]
mastergain = 0.9
musicgain = 0.2
ambientgain = 0.6
actiongain = 0.7
uigain = 0.7

[sound.notify]
nick = true                       ; Play a sound when someone mentions your name in the lobby or game

[tinygettext]
debug = false                     ; Print error messages each time a translation for an English string is not found.

[userreport] ; Opt-in online user reporting system
url = "http://feedback.wildfiregames.com/report/upload/v1/"

[view] ; Camera control settings
scroll.speed = 120.0
scroll.speed.modifier = 1.05      ; Multiplier for changing scroll speed
rotate.x.speed = 1.2
rotate.x.min = 28.0
rotate.x.max = 60.0
rotate.x.default = 35.0
rotate.y.speed = 2.0
rotate.y.speed.wheel = 0.45
rotate.y.default = 0.0
rotate.speed.modifier = 1.05      ; Multiplier for changing rotation speed
drag.speed = 0.5
zoom.speed = 256.0
zoom.speed.wheel = 32.0
zoom.min = 50.0
zoom.max = 200.0
zoom.default = 120.0
zoom.speed.modifier = 1.05        ; Multiplier for changing zoom speed
pos.smoothness = 0.1
zoom.smoothness = 0.4
rotate.x.smoothness = 0.5
rotate.y.smoothness = 0.3
near = 2.0                        ; Near plane distance
far = 4096.0                      ; Far plane distance
fov = 45.0                        ; Field of view (degrees), lower is narrow, higher is wide
height.smoothness = 0.5
height.min = 16
